home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / devel / tcl / tclx7_31.z / tclx7_31 / tcldev / tclX7.3a-p1 / src / Makefile < prev    next >
Encoding:
Makefile  |  1994-01-25  |  5.7 KB  |  175 lines

  1. # Generated automatically from Makefile.in by configure.
  2. #
  3. # src/Makefile.in  --
  4. #
  5. # Makefile for Extended Tcl C sources. 
  6. #------------------------------------------------------------------------------
  7. # Copyright 1992-1993 Karl Lehenbauer and Mark Diekhans.
  8. #
  9. # Permission to use, copy, modify, and distribute this software and its
  10. # documentation for any purpose and without fee is hereby granted, provided
  11. # that the above copyright notice appear in all copies.  Karl Lehenbauer and
  12. # Mark Diekhans make no representations about the suitability of this
  13. # software for any purpose.  It is provided "as is" without express or
  14. # implied warranty.
  15. #------------------------------------------------------------------------------
  16. # $Id: Makefile.in,v 3.2 1993/12/02 03:56:12 markd Exp $
  17. #------------------------------------------------------------------------------
  18. #
  19. SHELL = /bin/sh
  20.  
  21. #------------------------------------------------------------------------------
  22. # Autoconfig defines that can be overridden in Config.mk
  23.  
  24. CC          = cc
  25. RANLIB      = ranlib
  26. MCS         = touch
  27. srcdir      = .
  28. srcbasedir  = /home/david/src/tcldev/tclX7.3a-p1
  29. bldbasedir  = /home/david/src/tcldev/tclX7.3a-p1
  30. VPATH       = .
  31. prefix      = $(ROOT)/usr
  32. exec_prefix = ${prefix}
  33. ARCH        = 
  34. LIBS        =  -lieee -lm
  35.  
  36. #------------------------------------------------------------------------------
  37. # Include user-editable defines.
  38.  
  39. include ${bldbasedir}/Config.mk
  40.  
  41. #------------------------------------------------------------------------------
  42.  
  43. LIBTCL.A      = ${bldbasedir}/tclmaster/lib${ARCH}/libtcl.a
  44. LIBTCLX.A     = ${bldbasedir}/tclmaster/lib${ARCH}/libtclx.a
  45. TCL           = ${bldbasedir}/tclmaster/bin${ARCH}/tcl
  46. TCLEXTEND.H   = ${bldbasedir}/tclmaster/include/tclExtend.h
  47. TCLPP_H       = ${bldbasedir}/tclmaster/include/tcl++.h
  48. APPINIT       = ${bldbasedir}/tclmaster/src/tclXAppInit.c
  49. SYSLIBS       = ${bldbasedir}/tclmaster/src/SYSLIBS${ARCH}
  50. TCLXMAINPP.O  = ${bldbasedir}/tclmaster/lib${ARCH}/tclXmain++.o
  51.  
  52. LDLIBS = ${LIBTCLX.A} ${LIBTCL.A} ${LIBS}
  53.  
  54. CC_FLAGS = ${CPPFLAGS} ${XCFLAGS} ${CFLAGS} -I${srcbasedir}/src \
  55.            -I${bldbasedir}/src -I${TCL_UCB_SRC}
  56.  
  57. .c.o:
  58.     ${CC} ${CC_FLAGS} -c $<
  59.  
  60. #------------------------------------------------------------------------------
  61.  
  62. OBJS= \
  63.     tclXbsearch.o    tclXchmod.o      tclXclock.o      tclXcmdInit.o \
  64.     tclXcmdloop.o    tclXcnvclock.o   tclXdebug.o      tclXdup.o     \
  65.     tclXfcntl.o      tclXfilecmds.o   tclXfilescan.o   tclXflock.o   \
  66.     tclXfstat.o      tclXgeneral.o    tclXgetdate.o    tclXhandles.o \
  67.     tclXid.o         tclXinit.o       tclXkeylist.o    tclXlib.o     \
  68.     tclXlist.o       tclXmain.o       tclXmath.o       tclXmsgcat.o  \
  69.     tclXprocess.o    tclXprofile.o    tclXregexp.o     tclXselect.o  \
  70.     tclXserver.o     tclXsignal.o     tclXshell.o      tclXstring.o  \
  71.     tclXunixcmds.o   tclXutil.o       tclXdata.o
  72.  
  73. UCBOBJS=tclCmdIL.o
  74.  
  75. #------------------------------------------------------------------------------
  76. # Compile the TclX library and link the shell.  If the link fails, purge
  77. # the executable, as some systems leave invalid executables around.
  78.  
  79. all: made.tmp ${TCL} ${TCLEXTEND.H} ${TCLPP_H} ${APPINIT} ${SYSLIBS} \
  80.      ${TCL_PLUS_BUILD}
  81.  
  82. ${TCL}: tclXAppInit.o ${LIBTCLX.A} ${LIBTCL.A} made.tmp 
  83.     ${CC} ${CC_FLAGS} ${XLDFLAGS} tclXAppInit.o ${LDLIBS} ${XLDLIBS} \
  84.           -o ${TCL} || (rm -f ${TCL}; exit 1)
  85.     if ${DO_STRIPPING} ; then \
  86.         strip ${TCL}; \
  87.         ${MCS} ${TCL}; \
  88.     else \
  89.         exit 0 ;\
  90.     fi
  91.  
  92. made.tmp ${LIBTCLX.A}: ${OBJS} ${UCBOBJS} ${CPLUSOBJS}
  93.     ${AR} cr ${LIBTCLX.A} ${OBJS} ${UCBOBJS} ${CPLUSOBJS}
  94.     ${RANLIB} ${LIBTCLX.A}
  95.     touch made.tmp
  96.  
  97. tclCmdIL.o: tclCmdIL.c ${TCL_UCB_SRC}/patchlevel.h
  98.     MASTER=${TCL_MASTERDIR}/`../tools/tclxversion` ;\
  99.     ${CC} -c ${CC_FLAGS} -DTCL_LIBRARY=\"$$MASTER\" tclCmdIL.c
  100.  
  101. tclCmdIL.c: ${TCL_UCB_SRC}/tclCmdIL.c
  102.     rm -f tclCmdIL.c
  103.     cp ${TCL_UCB_SRC}/tclCmdIL.c tclCmdIL.c
  104.  
  105. tclXinit.o: tclXinit.c
  106.     MASTER=${TCL_MASTERDIR}/`../tools/tclxversion` ;\
  107.     ${CC} -c ${CC_FLAGS} -DTCL_MASTERDIR=\"$$MASTER\" \
  108.         ${srcdir}/tclXinit.c
  109.  
  110. tclXcmdInit.o: tclXcmdInit.c tclXpatchl.h
  111.  
  112. tclXgetdate.c: tclXgetdate.y
  113.     ${YACC} $(srcdir)/tclXgetdate.y
  114.     sed 's/yy/TclXyy/g' <y.tab.c >tclXgetdate.c
  115.     rm y.tab.c
  116.  
  117. tcl++.o: tcl++.C tcl++.h
  118.     ${CCPLUS} -c ${CC_FLAGS} ${srcdir}/tcl++.C
  119.     ${AR} cr ${LIBTCLX.A} tcl++.o
  120.     ${RANLIB} ${LIBTCLX.A}
  121.     touch made.tmp
  122.  
  123. #------------------------------------------------------------------------------
  124. # Copy include files, etc to the master directory.
  125. #
  126.  
  127. ${TCLEXTEND.H}: tclExtend.h
  128.     rm -f ${TCLEXTEND.H}
  129.     cp ${srcdir}/tclExtend.h ${TCLEXTEND.H}
  130.  
  131. ${TCLPP_H}: tcl++.h
  132.     rm -f ${TCLPP_H}
  133.     cp ${srcdir}/tcl++.h ${TCLPP_H}
  134.  
  135. ${APPINIT}: tclXAppInit.c
  136.     rm -f ${APPINIT}
  137.     cp ${srcdir}/tclXAppInit.c ${APPINIT}
  138.  
  139. ${SYSLIBS}: SYSLIBS
  140.     rm -f ${SYSLIBS}
  141.     cp SYSLIBS ${SYSLIBS}
  142.  
  143. #------------------------------------------------------------------------------
  144. # Make sure tcl++.h compiles, plus force tcl++.o into the library.
  145.  
  146. TCL_PLUS: tcl++ tcl++.o ${TCLXMAINPP.O}
  147.  
  148. tcl++: tclXmain++.o tcl++.o made.tmp
  149.     ${CCPLUS} ${CC_FLAGS} ${XLDFLAGS} tclXmain++.o tclXAppInit.o \
  150.            ${LDLIBS} ${XLDLIBS} -o tcl++
  151.  
  152. tclXmain++.o: tcl++.h tclXmain++.C
  153.     ${CCPLUS} -c -I${CPLUSINCL} ${CC_FLAGS} tclXmain++.C
  154.  
  155. tclXmain++.C: tclXmain.c
  156.     rm -f tclXmain++.C
  157.     cp ${srcdir}/tclXmain.c tclXmain++.C
  158.  
  159. ${TCLXMAINPP.O}: tclXmain++.o
  160.     rm -f ${TCLXMAINPP.O}
  161.     cp tclXmain++.o ${TCLXMAINPP.O}
  162.  
  163. #------------------------------------------------------------------------------
  164.  
  165. clean:
  166.     -rm -f made.tmp tclXgetdate.c tclXmain++.C tclXAppInit.o tclCmdIL.c
  167.     -rm -f ${OBJS} ${UCBOBJS} tclXmain++.o tcl++.o ${TCL} tcl++
  168.  
  169. #------------------------------------------------------------------------------
  170. # Restore to the distributed state.
  171.  
  172. distclean: clean
  173.     rm -f Makefile tclXconfig.h SYSLIBS
  174.